/*
 * XSLGUI - DITA ANT XML TO PDF CONVERTER
 */
package learn;

/*
 *
 * @author BMWDGW0
 */
import java.awt.Component;
import java.io.*;
import java.util.Properties;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JFileChooser;
import javax.swing.JOptionPane;

public class XSLGUI extends javax.swing.JFrame {
    //Class Variables
    public String prg;
    public String DITADir;
    public String BatchFile;
    public String outDir;
    public String LogFile;
    public String FileName;
    public String version = this.getClass().getPackage().getImplementationVersion();
    
    //Constructors
    public String setprg(){
        String filePathString;
        Properties properties = new Properties();
        try {
            properties.load(new FileInputStream("xslgui.properties"));
        } catch (IOException e) {
           // XMLGUI.properties is missing
           JOptionPane.showMessageDialog(null,"ERROR: Missing xslgui.properties file.");
           System.exit(0);
        }
        
        prg = properties.getProperty("WINDOWS_DIR") + "cmd.exe /C ";
        
        //Check to ensure file exists
        filePathString = properties.getProperty("WINDOWS_DIR") + "cmd.exe";
        File f = new File(filePathString);
            if(f.exists()) { /* do something */ }else{
           // WINDOWS DIR PATH IS INCORRECT
           JOptionPane.showMessageDialog(null,"ERROR: WINDOWS_DIR path incorrect in xslgui.properties.");
           System.exit(0);
            }

        return prg; 
        
    }
    public String setDITADir(){
        String filePathString;
        Properties properties = new Properties();
        try {
            properties.load(new FileInputStream("xslgui.properties"));
        } catch (IOException e) {
           // XMLGUI.properties is missing
           JOptionPane.showMessageDialog(null,"ERROR: Missing xslgui.properties file.");
           System.exit(0);
        }

        DITADir = properties.getProperty("DITA_DIR");

         //Check to ensure file exists
        filePathString = properties.getProperty("DITA_DIR");
        File f = new File(filePathString);
            if(f.exists()) { /* do something */ }else{
           // DITA_DIR PATH IS INCORRECT
           JOptionPane.showMessageDialog(null,"ERROR: DITA_DIR path incorrect in xslgui.properties.");
           System.exit(0);
            }       
        
        return DITADir;
    }
    public String setBatchFile(){
         String filePathString;
        Properties properties = new Properties();
        try {
            properties.load(new FileInputStream("xslgui.properties"));
        } catch (IOException e) {
           // XMLGUI.properties is missing
           JOptionPane.showMessageDialog(null,"ERROR: Missing xslgui.properties file.");
           System.exit(0);
        }
        BatchFile = properties.getProperty("BATCH_FILE");

        return BatchFile;
    }
     public String setOutDir(){
          String filePathString;
        Properties properties = new Properties();
        try {
            properties.load(new FileInputStream("xslgui.properties"));
        } catch (IOException e) {
           // XMLGUI.properties is missing
           JOptionPane.showMessageDialog(null,"ERROR: Missing xslgui.properties file.");
           System.exit(0);
        }
        outDir = properties.getProperty("OUTPUT_DIR");
        
                    //Check to ensure file exists
        filePathString = properties.getProperty("OUTPUT_DIR");
        File f = new File(filePathString);
            if(f.exists()) { /* do something */ }else{
           // OUTPUTDIR PATH IS INCORRECT
           JOptionPane.showMessageDialog(null,"ERROR: OUTPUT_DIR path incorrect in xslgui.properties.");
           System.exit(0);
            }       
        
        return outDir;
    }
     public String setLogFile(){
          String filePathString;
        Properties properties = new Properties();
        try {
            properties.load(new FileInputStream("xslgui.properties"));
        } catch (IOException e) {
           // XMLGUI.properties is missing
           JOptionPane.showMessageDialog(null,"ERROR: Missing xslgui.properties file.");
           System.exit(0);
        }
        LogFile = properties.getProperty("LOG_FILE");
        
        return LogFile;
    }     
    /**
     * Creates new form XSLGUI
     */
    public XSLGUI() {
        initComponents();
    }

    /**
     * This method is called from within the constructor to initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is always
     * regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        jFileChooser1 = new javax.swing.JFileChooser();
        buttonGroup1 = new javax.swing.ButtonGroup();
        About = new javax.swing.JDialog();
        apptitle = new javax.swing.JLabel();
        appurl = new javax.swing.JLabel();
        versionlabel = new javax.swing.JLabel();
        versionvalue = new javax.swing.JLabel();
        jButton1 = new javax.swing.JButton();
        output = new javax.swing.JScrollPane();
        jTextArea2 = new javax.swing.JTextArea();
        RenderPDF = new javax.swing.JButton();
        ViewLog = new javax.swing.JButton();
        ViewPDF = new javax.swing.JButton();
        jScrollPane1 = new javax.swing.JScrollPane();
        jTextArea1 = new javax.swing.JTextArea();
        TranstypeLabel = new javax.swing.JLabel();
        transtypepdf = new javax.swing.JRadioButton();
        transtypexhtml = new javax.swing.JRadioButton();
        jMenuBar1 = new javax.swing.JMenuBar();
        FileMenu = new javax.swing.JMenu();
        SourceFile = new javax.swing.JMenuItem();
        ExitBtn = new javax.swing.JMenuItem();
        HelpMenu = new javax.swing.JMenu();
        AboutMenuItem = new javax.swing.JMenuItem();

        jFileChooser1.setApproveButtonText("");
        jFileChooser1.setCurrentDirectory(new java.io.File("c:\\"));
            jFileChooser1.setDialogTitle("Select Source File");

            this.setTitle("About");

            apptitle.setFont(new java.awt.Font("Tahoma", 1, 48)); // NOI18N
            apptitle.setText("XSL GUI");

            appurl.setText("https://code.google.com/p/xslgui/");

            versionlabel.setText("version");

            versionvalue.setText(version);

            jButton1.setText("OK");
            jButton1.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent evt) {
                    jButton1ActionPerformed(evt);
                }
            });

            javax.swing.GroupLayout AboutLayout = new javax.swing.GroupLayout(About.getContentPane());
            About.getContentPane().setLayout(AboutLayout);
            AboutLayout.setHorizontalGroup(
                AboutLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(AboutLayout.createSequentialGroup()
                    .addGap(22, 22, 22)
                    .addGroup(AboutLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER)
                        .addComponent(jButton1)
                        .addGroup(AboutLayout.createSequentialGroup()
                            .addComponent(versionlabel)
                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                            .addComponent(versionvalue, javax.swing.GroupLayout.PREFERRED_SIZE, 171, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addComponent(appurl)
                        .addComponent(apptitle))
                    .addContainerGap(31, Short.MAX_VALUE))
            );
            AboutLayout.setVerticalGroup(
                AboutLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(AboutLayout.createSequentialGroup()
                    .addContainerGap()
                    .addGroup(AboutLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER)
                        .addComponent(versionlabel)
                        .addComponent(versionvalue, javax.swing.GroupLayout.PREFERRED_SIZE, 14, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGroup(AboutLayout.createSequentialGroup()
                            .addComponent(apptitle)
                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                            .addComponent(appurl)
                            .addGap(129, 129, 129)
                            .addComponent(jButton1)))
                    .addGap(47, 47, 47))
            );

            setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
            setTitle("XSLT GUI");
            setBounds(new java.awt.Rectangle(0, 0, 0, 10));
            setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
            setFocusableWindowState(false);
            setForeground(java.awt.Color.black);
            setResizable(false);

            output.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Output", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Tahoma", 0, 10), new java.awt.Color(0, 0, 0))); // NOI18N
            output.setForeground(new java.awt.Color(102, 102, 102));
            output.setOpaque(false);

            jTextArea2.setColumns(20);
            jTextArea2.setEditable(false);
            jTextArea2.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N
            jTextArea2.setRows(5);
            jTextArea2.setAutoscrolls(false);
            jTextArea2.setBorder(null);
            output.setViewportView(jTextArea2);

            RenderPDF.setText("Render PDF");
            RenderPDF.setBorder(new javax.swing.border.SoftBevelBorder(javax.swing.border.BevelBorder.RAISED));
            RenderPDF.setFocusPainted(false);
            RenderPDF.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent evt) {
                    RenderPDFActionPerformed(evt);
                }
            });

            ViewLog.setText("View Log");
            ViewLog.setActionCommand("viewlog");
            ViewLog.setBorder(new javax.swing.border.SoftBevelBorder(javax.swing.border.BevelBorder.RAISED));
            ViewLog.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent evt) {
                    ViewLogActionPerformed(evt);
                }
            });

            ViewPDF.setText("View PDF");
            ViewPDF.setActionCommand("viewpdf");
            ViewPDF.setBorder(new javax.swing.border.SoftBevelBorder(javax.swing.border.BevelBorder.RAISED));
            ViewPDF.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent evt) {
                    ViewPDFActionPerformed(evt);
                }
            });

            jScrollPane1.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Source File", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Tahoma", 0, 10), new java.awt.Color(0, 0, 0))); // NOI18N
            jScrollPane1.setForeground(new java.awt.Color(102, 102, 102));
            jScrollPane1.setHorizontalScrollBarPolicy(javax.swing.ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
            jScrollPane1.setVerticalScrollBarPolicy(javax.swing.ScrollPaneConstants.VERTICAL_SCROLLBAR_NEVER);
            jScrollPane1.setOpaque(false);

            jTextArea1.setColumns(20);
            jTextArea1.setEditable(false);
            jTextArea1.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N
            jTextArea1.setRows(1);
            jTextArea1.setBorder(null);
            jTextArea1.setMargin(new java.awt.Insets(0, 0, 0, 0));
            jScrollPane1.setViewportView(jTextArea1);

            TranstypeLabel.setBackground(new java.awt.Color(51, 51, 51));
            TranstypeLabel.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N
            TranstypeLabel.setText("Format");

            buttonGroup1.add(transtypepdf);
            transtypepdf.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N
            transtypepdf.setSelected(true);
            transtypepdf.setText("pdf");
            transtypepdf.setOpaque(false);

            transtypexhtml.setBackground(java.awt.SystemColor.desktop);
            buttonGroup1.add(transtypexhtml);
            transtypexhtml.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N
            transtypexhtml.setText("xhtml");
            transtypexhtml.setOpaque(false);

            jMenuBar1.setBorder(null);
            jMenuBar1.setMargin(new java.awt.Insets(5, 5, 5, 5));
            jMenuBar1.setMaximumSize(new java.awt.Dimension(10000, 32767));

            FileMenu.setBorder(null);
            FileMenu.setText("File");
            FileMenu.setOpaque(false);

            SourceFile.setText("Select Build File");
            SourceFile.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent evt) {
                    SourceFileActionPerformed(evt);
                }
            });
            FileMenu.add(SourceFile);

            ExitBtn.setText("Exit");
            ExitBtn.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent evt) {
                    ExitBtnActionPerformed(evt);
                }
            });
            FileMenu.add(ExitBtn);

            jMenuBar1.add(FileMenu);

            HelpMenu.setText("Help");
            HelpMenu.setToolTipText("");
            HelpMenu.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING);
            HelpMenu.setHorizontalTextPosition(javax.swing.SwingConstants.LEADING);

            AboutMenuItem.setText("About");
            AboutMenuItem.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent evt) {
                    AboutMenuItemActionPerformed(evt);
                }
            });
            HelpMenu.add(AboutMenuItem);

            jMenuBar1.add(HelpMenu);

            setJMenuBar(jMenuBar1);

            javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
            getContentPane().setLayout(layout);
            layout.setHorizontalGroup(
                layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(layout.createSequentialGroup()
                    .addContainerGap()
                    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                        .addGroup(layout.createSequentialGroup()
                            .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                .addGroup(layout.createSequentialGroup()
                                    .addComponent(TranstypeLabel)
                                    .addGap(18, 18, 18)
                                    .addComponent(transtypepdf)
                                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                    .addComponent(transtypexhtml))
                                .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 733, javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addGap(0, 8, Short.MAX_VALUE))
                        .addGroup(layout.createSequentialGroup()
                            .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                .addComponent(output)
                                .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                                    .addGap(0, 0, Short.MAX_VALUE)
                                    .addComponent(RenderPDF, javax.swing.GroupLayout.PREFERRED_SIZE, 98, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                    .addComponent(ViewPDF, javax.swing.GroupLayout.PREFERRED_SIZE, 96, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                    .addComponent(ViewLog, javax.swing.GroupLayout.PREFERRED_SIZE, 79, javax.swing.GroupLayout.PREFERRED_SIZE)))
                            .addContainerGap())))
            );

            layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {RenderPDF, ViewLog, ViewPDF});

            layout.setVerticalGroup(
                layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(layout.createSequentialGroup()
                    .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addGap(15, 15, 15)
                    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                        .addComponent(TranstypeLabel)
                        .addComponent(transtypepdf)
                        .addComponent(transtypexhtml))
                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                    .addComponent(output, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addGap(22, 22, 22)
                    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER)
                        .addComponent(RenderPDF, javax.swing.GroupLayout.PREFERRED_SIZE, 37, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addComponent(ViewLog, javax.swing.GroupLayout.PREFERRED_SIZE, 37, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addComponent(ViewPDF, javax.swing.GroupLayout.PREFERRED_SIZE, 30, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addContainerGap(12, Short.MAX_VALUE))
            );

            layout.linkSize(javax.swing.SwingConstants.VERTICAL, new java.awt.Component[] {RenderPDF, ViewLog, ViewPDF});

            pack();
        }// </editor-fold>//GEN-END:initComponents

    private void RenderPDFActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_RenderPDFActionPerformed
        prg = setprg().toString();
        DITADir = setDITADir().toString();
        BatchFile = setBatchFile().toString();
        LogFile = setLogFile().toString();
        
        try {
            String line;
            StringBuilder strBfr = new StringBuilder();
            // Render Command
            String dosCMD = DITADir + BatchFile;
            String buildDir = DITADir + "build.xml";
            String source = " " + jFileChooser1.getSelectedFile();
            /*
             * Radio Button Selection
             */
            String transtype = "";
            if (transtypepdf.isSelected()) {
                transtype = " pdf";
            }
            if (transtypexhtml.isSelected()) {
                transtype = " xhtml";
            }
            /*
             * Clear the output window
             */
            //jTextArea2.setText(null);
            Process p = Runtime.getRuntime().exec(prg + dosCMD + source + transtype + " " + buildDir + " " + LogFile);
            BufferedReader input =
            new BufferedReader(new InputStreamReader(p.getInputStream()));
            while ((line = input.readLine()) != null) {
                strBfr.append(line);
                strBfr.append("\n");
            }
            strBfr.append("Render Complete");
            jTextArea2.setText(strBfr.toString());
        } catch (IOException ex) {
            Logger.getLogger(XSLGUI.class.getName()).log(Level.SEVERE, null, ex);
        }
    }//GEN-LAST:event_RenderPDFActionPerformed

    private void ViewLogActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_ViewLogActionPerformed
        // View Build Log
        prg = setprg().toString();
        DITADir = setDITADir().toString();
        LogFile = setLogFile().toString();
        try {
            StringBuilder strBfr = new StringBuilder();
            String dosCMD = DITADir + LogFile;
            Process p = Runtime.getRuntime().exec(prg + dosCMD);
        } catch (IOException ex) {
            Logger.getLogger(XSLGUI.class.getName()).log(Level.SEVERE, null, ex);
        }
    }//GEN-LAST:event_ViewLogActionPerformed

    private void ViewPDFActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_ViewPDFActionPerformed
        // View PDF
        prg = setprg().toString();
        DITADir = setDITADir().toString();
        outDir = setOutDir().toString();
        File file = jFileChooser1.getSelectedFile();
        
        FileName = file.getName();
            int pos = FileName.lastIndexOf(".");
            if (pos > 0) {
                FileName = FileName.substring(0, pos);
            }
         
        try {
            StringBuilder strBfr = new StringBuilder();
            String dosCMD = outDir + FileName + ".pdf";
            Process p = Runtime.getRuntime().exec(prg + dosCMD);
        } catch (IOException ex) {
            Logger.getLogger(XSLGUI.class.getName()).log(Level.SEVERE, null, ex);
        }
    }//GEN-LAST:event_ViewPDFActionPerformed

    private void SourceFileActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_SourceFileActionPerformed

        int returnVal = jFileChooser1.showOpenDialog(this);
        if (returnVal == JFileChooser.APPROVE_OPTION) {
            File file = jFileChooser1.getSelectedFile();
        jTextArea1.setText(null);
        jTextArea1.append(file.getAbsolutePath());

        } else {
            System.out.println("File access cancelled by user.");
        }
    }//GEN-LAST:event_SourceFileActionPerformed

    private void ExitBtnActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_ExitBtnActionPerformed

        System.exit(0);
    }//GEN-LAST:event_ExitBtnActionPerformed

    private void AboutMenuItemActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_AboutMenuItemActionPerformed

      About.setBounds(0,0,300,300);
      About.setVisible(true);
        
    }//GEN-LAST:event_AboutMenuItemActionPerformed

    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed
        // TODO add your handling code here:
         About.dispose();
    }//GEN-LAST:event_jButton1ActionPerformed


    
    /**
     * @param args the command line arguments
     */
    public static void main(String args[]) throws IOException {
        /*
         * Set the Nimbus look and feel
         */
        //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
        /*
         * If Nimbus (introduced in Java SE 6) is not available, stay with the
         * default look and feel. For details see
         * http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
         */
        try {
            for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
                if ("System".equals(info.getName())) {
                    javax.swing.UIManager.setLookAndFeel(info.getClassName());
                    break;
                }
            }
        } catch (ClassNotFoundException ex) {
            java.util.logging.Logger.getLogger(XSLGUI.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (InstantiationException ex) {
            java.util.logging.Logger.getLogger(XSLGUI.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (IllegalAccessException ex) {
            java.util.logging.Logger.getLogger(XSLGUI.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (javax.swing.UnsupportedLookAndFeelException ex) {
            java.util.logging.Logger.getLogger(XSLGUI.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        }
        //</editor-fold>

        /*
         * Create and display the form
         */
        java.awt.EventQueue.invokeLater(new Runnable() {
            @Override
            public void run() {
                new XSLGUI().setVisible(true);
            }
        });
    }
    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JDialog About;
    private javax.swing.JMenuItem AboutMenuItem;
    private javax.swing.JMenuItem ExitBtn;
    private javax.swing.JMenu FileMenu;
    private javax.swing.JMenu HelpMenu;
    private javax.swing.JButton RenderPDF;
    private javax.swing.JMenuItem SourceFile;
    private javax.swing.JLabel TranstypeLabel;
    private javax.swing.JButton ViewLog;
    private javax.swing.JButton ViewPDF;
    private javax.swing.JLabel apptitle;
    private javax.swing.JLabel appurl;
    private javax.swing.ButtonGroup buttonGroup1;
    private javax.swing.JButton jButton1;
    private javax.swing.JFileChooser jFileChooser1;
    private javax.swing.JMenuBar jMenuBar1;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JTextArea jTextArea1;
    private javax.swing.JTextArea jTextArea2;
    private javax.swing.JScrollPane output;
    private javax.swing.JRadioButton transtypepdf;
    private javax.swing.JRadioButton transtypexhtml;
    private javax.swing.JLabel versionlabel;
    private javax.swing.JLabel versionvalue;
    // End of variables declaration//GEN-END:variables
}

